package com.mdd.admin.service.jiaz;

import com.mdd.admin.validate.commons.PageValidate;
import com.mdd.admin.validate.setting.SettingWebsiteValidate;
import com.mdd.admin.vo.setting.SettingWebsiteVo;
import com.mdd.common.core.PageResult;
import com.mdd.common.validate.timeslot.TimeSlotCreateValidate;
import com.mdd.common.validate.timeslot.TimeSlotSearchValidate;
import com.mdd.common.validate.timeslot.TimeSlotUpdateValidate;
import com.mdd.common.vo.timeslot.TimeSlotDetailVo;
import com.mdd.common.vo.timeslot.TimeSlotListedVo;

/**
 * 时间段服务接口类
 *
 * @author LikeAdmin
 */
public interface ITimeSlotService {

    /**
     * 时间段列表
     *
     * @param pageValidate   分页参数
     * @param searchValidate 搜索参数
     * @return PageResult<TimeSlotListedVo>
     * @author LikeAdmin
     */
    PageResult<TimeSlotListedVo> list(PageValidate pageValidate, TimeSlotSearchValidate searchValidate);

    /**
     * 时间段详情
     *
     * @param id 主键ID
     * @return TimeSlotDetailVo
     * @author LikeAdmin
     */
    TimeSlotDetailVo detail(Integer id);

    /**
     * 时间段新增
     *
     * @param createValidate 参数
     * @author LikeAdmin
     */
    void add(TimeSlotCreateValidate createValidate);

    /**
     * 时间段编辑
     *
     * @param updateValidate 参数
     * @author LikeAdmin
     */
    void edit(TimeSlotUpdateValidate updateValidate);

    /**
     * 时间段删除
     *
     * @param id 主键ID
     * @author LikeAdmin
     */
    void del(Integer id);


    /**
     * 获取日期设置
     *
     * @return
     */
    SettingWebsiteVo detail();

    /**
     * 日期设置
     *
     * @param websiteValidate
     */
    void saveTimeSlotDay(SettingWebsiteValidate websiteValidate);

}
